package singleton.type3;

/**
 * 懒汉式：线程不安全 <br>
 * 线程不安全，可能会有多个线程进入if(instance==null)中，从而创建多个实例 <br>
 * 结论: 不可以使用
 * @author yi qiang
 * @date 2021/5/2 22:07
 */
public class Singleton3 {

    public static void main(String[] args) {
        Singleton singleton=Singleton.getInstance();
        Singleton singleton2=Singleton.getInstance();
        System.out.println(singleton==singleton2);
    }


}

class Singleton{

    private  static  Singleton instance;

    //1.构造器私有化,使得外部不能通过new创建实例
    private Singleton(){
    }
    

    //2.本类内部创建一个实例
    //3.对外暴露一个公共的静态方法获取实例
    public static Singleton getInstance(){
        if(instance==null){
            instance=new Singleton();
        }
        return instance;
    }
}
